<?php

session_start();
if (!isset($_SESSION['userId'])) {
    die("El tiempo de su sesión se ha terminado. ¡Esta acción no fue realizada Por favor recargar la pagina e iniciar sesión nuevamente! <script language='JavaScript' type='text/javascript'>location.href='index.php'</script>");
}

header('Content-Type: text/html; charset=UTF-8');
//echo "<pre>";
//var_dump($_POST['antecedentes_medicos']);
//var_dump($_REQUEST);
//var_dump($_FILES);
//var_dump($_SESSION);
//echo "</pre>";
/*
 * Archivo controlador para le almacenamiento de el nuevo registro
 * 
 */

function isFile($prefijo, $dir) {
    if (is_dir($dir)) {
        if ($gd = opendir($dir)) {
            while ($archivo = readdir($gd)) {
                if (strstr($archivo, $prefijo)) {
                    //cambiamos el nombre al archivo
                    rename($dir.$archivo, $dir."old_".$archivo);
                }
            }
            closedir($gd);
        }
    }
}

function validarTamano($archivos) {
    foreach ($archivos as $archivo) {
        if ($archivo['size']>5242880){
            die("¡El tamaño del archivo {$archivo['name']} pesa {$archivo['size']} supera el limite permitido de 5MB (5120 Kb, 5242880 b)!");
        }
    }
}

extract($_REQUEST);
$institucion_id = $_SESSION['institucionId'];
//validaciones

if ($institucion_id) {
    //if (isset($certifica_participacion) && ($documento) && ($peso > 0)) {
    if (isset($certifica_participacion) && ($documento) && ($peso > 0) && ($_FILES['foto_deportista']['tmp_name']) && ($_FILES['fotocopia_carnet']['tmp_name']) && ($_FILES['fotocopia_documento']['tmp_name'])) {
        validarTamano($_FILES);
        require_once('model/bd_mysql.php');
        $objBD = new bd_mysql();
        if (!(isset($editar)) || $editar == 0) {
            // se realiza comprobacion si el documento en la misma institución ya esta registrada o esta eliminado
            $estadoDeportista = $objBD->isDeportista($institucion_id, $documento); //estado 1:Ya existe , estado 2: ya existe pero esta eliminado
            if ($estadoDeportista > 0) {
                if ($estadoDeportista == 1)
                    die('Ya existe un deportista con este número de identificacion, Seleccione el registro del deportista y haga clic soble la opción editar');
                else if ($estadoDeportista == 2)
                    die('Ya existen datos con este número de identificacion pero se encuentra eliminado.¡proximamente se habilitará la opción reciclar estudiantes inscritos!');
            } else {
                $editar = 0;
            }
        }



        //Llamamos el método para insercion de datos del deportista
        if (isset($editar) && $editar > 0)
            $idDeportista = $objBD->editDeportista($editar, trim($documento), $tipo_documento_id, $primer_nombre, $segundo_nombre, $primer_apellido, $segundo_apellido, $fecha_nacimiento, $genero, $eps_id, $objecion_tratamiento_medico, $peso, $talla, $tension_arterial, $frecuencia_cardiaca, $rh, $restriccion_general, $certifica_participacion, $observaciones, $institucion_id);
        else
            $idDeportista = $objBD->insertDeportista(trim($documento), $tipo_documento_id, $primer_nombre, $segundo_nombre, $primer_apellido, $segundo_apellido, $fecha_nacimiento, $genero, $eps_id, $objecion_tratamiento_medico, $peso, $talla, $tension_arterial, $frecuencia_cardiaca, $rh, $restriccion_general, $certifica_participacion, $observaciones, $institucion_id);
        if ($idDeportista) {
            //con el id del deportista se inserta los demas datos
            //Datos de acudientes tipo 1 
            if (isset($editar) && $editar > 0)
                $result = $objBD->editAcudiente(NULL, $nombre_acudiente, $telefono_acudiente, $celular_acudiente, NULL, NULL, $idDeportista, 1, NULL);
            else
                $result = $objBD->insertAcudiente(NULL, $nombre_acudiente, $telefono_acudiente, $celular_acudiente, NULL, NULL, $idDeportista, 1, NULL);
            if (!$result)
                die('Error en la inserción de los datos del acudiente');
            //Datos de Entrenador tipo 2 
            if (isset($editar) && $editar > 0)
                $result = $objBD->editAcudiente(NULL, $nombre_entrenador, $telefono_entrenador, $celular_entrenador, $email_entrenador, NULL, $idDeportista, 2, NULL);
            else
                $result = $objBD->insertAcudiente(NULL, $nombre_entrenador, $telefono_entrenador, $celular_entrenador, $email_entrenador, NULL, $idDeportista, 2, NULL);
            if (!$result)
                die('Error en la inserción de los datos del entrenador');
            //DAtos de Médico tipo 3
            if (isset($editar) && $editar > 0)
                $result = $objBD->editAcudiente(NULL, $nombre_medico, $telefono_medico, NULL, $email_medico, $direccion_medico, $idDeportista, 3, $registro_medico);
            else
                $result = $objBD->insertAcudiente(NULL, $nombre_medico, $telefono_medico, NULL, $email_medico, $direccion_medico, $idDeportista, 3, $registro_medico);
            if (!$result)
                die('Error en la inserción de los datos del médico');

            // se recoje el historial médico y se en via a la base de datos.
            if (isset($editar) && $editar > 0) {
                $result = $objBD->deleteAntecedenteMedica($editar);
                if (!$result)
                    die('Error en la eliminación de antecedentes médicos anteriores');
            }
            if (isset($_POST['antecedentes_medicos'])) {
                foreach ($_POST['antecedentes_medicos'] as $key => $antecedente) {
                    if ($antecedente == '25') {// se quema el valor de otro antecedente
                        $result = $objBD->insertAntecedenteMedica($idDeportista, $antecedente, utf8_decode($antecedentes_medicos_otro));
                        if (!$result)
                            die('Error en la inserción de los antecedentes médicos');
                    }else {
                        $result = $objBD->insertAntecedenteMedica($idDeportista, $antecedente, NULL);
                        if (!$result)
                            die('Error en la inserción de los antecedentes médicos');
                    }
                }
            }

            // se envia los archivos anexos
            if (isset($_FILES)) {
                //echo "<pre>";                var_dump($_FILES);                echo "</pre>";
                $conflictoArchivos = '';
                $destino = "adjuntos/documentos/{$idDeportista}/";
                //si no existe la carpeta la creamos
                if (!is_dir($destino))
                    mkdir($destino, 0777);
                if (isset($_FILES['fotocopia_documento']))
                    if (($_FILES['fotocopia_documento']['tmp_name'])) {
                        isFile('fotocopia_documento_', $destino);
                        if (!copy($_FILES['fotocopia_documento']['tmp_name'], $destino . "fotocopia_documento_" . $_FILES['fotocopia_documento']['name'])) {
                            $conflictoArchivos = $conflictoArchivos . "fotocopia_documento-";
                        }
                    }

                if (isset($_FILES['autorizacionAcudiente']))
                    if (($_FILES['autorizacionAcudiente']['tmp_name'])) {
                        isFile('autorizacionAcudiente_', $destino);
                        if (!copy($_FILES['autorizacionAcudiente']['tmp_name'], $destino . "autorizacionAcudiente_" . $_FILES['autorizacionAcudiente']['name'])) {
                            $conflictoArchivos = $conflictoArchivos . "autorizacionAcudiente-";
                        }
                    }
                if (isset($_FILES['fotocopia_carnet']))
                    if (($_FILES['fotocopia_carnet']['tmp_name'])) {
                        isFile('fotocopia_carnet_', $destino);
                        if (!copy($_FILES['fotocopia_carnet']['tmp_name'], $destino . "fotocopia_carnet_" . $_FILES['fotocopia_carnet']['name'])) {
                            $conflictoArchivos = $conflictoArchivos . "fotocopia_carnet-";
                        }
                    }

                if (isset($_FILES['ficha_medica']))
                    if (($_FILES['ficha_medica']['tmp_name'])) {
                        isFile('ficha_medica_', $destino);
                        if (!copy($_FILES['ficha_medica']['tmp_name'], $destino . "ficha_medica_" . $_FILES['ficha_medica']['name'])) {
                            $conflictoArchivos = $conflictoArchivos . "ficha_medica-";
                        }
                    }

                if (isset($_FILES['estabilidad_atlanta_axial']))
                    if (($_FILES['estabilidad_atlanta_axial']['tmp_name'])) {
                        isFile('estabilidad_atlanta_axial_', $destino);
                        if (!copy($_FILES['estabilidad_atlanta_axial']['tmp_name'], $destino . "estabilidad_atlanta_axial_" . $_FILES['estabilidad_atlanta_axial']['name'])) {
                            $conflictoArchivos = $conflictoArchivos . "estabilidad_atlanta_axial-";
                        }
                    }

                if (isset($_FILES['foto_deportista']))
                    if (($_FILES['foto_deportista']['tmp_name'])) {
                        isFile('foto_deportista_', $destino);
                        if (!copy($_FILES['foto_deportista']['tmp_name'], $destino . "foto_deportista_" . $_FILES['foto_deportista']['name'])) {
                            $conflictoArchivos = $conflictoArchivos . "foto_deportista-";
                        }
                    }
            }

            /////////////////////////////
            die('1');
        } else {
            die('Error en la inserción a la bd de datos del deportista');
        }
    } else {
        die('Error de validación: debe completar los campos en rojo');
    }
} else {
    die('ERROR DE SESIÓN no se encuentra variable de institución');
}
?>
